package com.wxwyapp.controller;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import net.sf.json.JSONObject;

import com.frame.ar.hander.DataHander;
import com.frame.jfinal.controller.BaseController;
import com.jfinal.aop.Before;
import com.jfinal.plugin.activerecord.Record;
import com.justep.baas.data.Table;
import com.justep.baas.data.Transform;
import com.weixin.interceptor.WeiXinLoinInterceptor;
import com.wxwyapp.service.PublicPropertyService;

/**
 * 作用描述：客户物业相关业务管理控制层
 * @author LRC
 * @createDate 2015年9月28日
 * @version v1.0 
 * @updateRecord 格式：时间，作者，修改说明
 **
 * 
 */
@Before(WeiXinLoinInterceptor.class)
public class PublicPropertyController extends BaseController{

	/**
	 * 通知公告管理
	 */
	public void noticeMgr(){
		
		
	}
	
	/**
	 * 功能描述：获取小区公共
	 * @createDate 2015年10月19日 by LRC 
	 * @updateRecord 格式：时间，作者，修改说明
	 **
	 * 
	 */
	public void findNotice(){
		String dataId;
		Object returnValue;
		Map<String,Object> base = new HashMap<String,Object>();
		switch(getAction()){
		case "byAreaCode"://根据小区code进行查询
			base.put("areaCode", getPara("areaCode"));
			try {
				dataId="findNotice_byAreaCode";
				returnValue = DataHander.getData(dataId, base);
				List<Record> ns = (List<Record>) returnValue;
				renderJson(ns);
			} catch (Exception e1) {
				e1.printStackTrace();
				renderError(500);
			}
			break;
		case "byId"://通过数据id获取明细数据
			base.put("noticeId", getPara("id"));
			try {
				dataId="findNotice_byId";
				returnValue = DataHander.getData(dataId, base);
				List<Record> ns = (List<Record>) returnValue;
				renderJson(ns==null||ns.size()==0? "NO_DATA_FOUND" :ns.get(0));
			} catch (Exception e1) {
				e1.printStackTrace();
				renderError(500);
			}
		case "byUser":
			try {
				Table notices = PublicPropertyService.findNoticeByUser(this);
				com.alibaba.fastjson.JSONObject json = Transform.tableToJson(notices);
				renderText(json.toString());
			} catch (Exception e) {
				e.printStackTrace();
				renderError(500);
			}
			break;
		default:renderError(404);
		
		}
		
	}
	
	/**
	 * 功能描述：用户意见反馈
	 * @createDate 2015年10月19日 by LRC 
	 * @updateRecord 格式：时间，作者，修改说明
	 **
	 * 
	 */
	public void userFeedback(){
		Boolean success;
		switch(getAction()){
		case "commit"://提交意见反馈信息
			JSONObject data = JSONObject.fromObject(getPara("data"));
			success = PublicPropertyService.userCommitFeedBack(data);
			actionResult(success);
			break;
		case "search"://查询已经反馈
			
			break;
		case "findByUser":
			try {
				String[] args = new String[]{"offset","commitTime:dateTime","limit"};
				String dataId = "findFeedback_byUser";
				Table notices = PublicPropertyService.findBizDataForTable(dataId ,this,args);
				com.alibaba.fastjson.JSONObject json = Transform.tableToJson(notices);
				renderText(json.toString());
			} catch (Exception e) {
				e.printStackTrace();
				renderError(500);
			}
			break;
		default:renderError(404);
		}
	}
}
